package com.xz.realdemo;

import com.sun.xml.internal.ws.util.xml.XmlUtil;
import com.xz.realdemo.builder.ComputerBuilder;
import com.xz.realdemo.model.Computer;
import com.xz.realdemo.util.XMLUtil;

/**
 * @author 张志航     
 * @version V1.0.0
 * @projectName design_mode
 * @title     Client   
 * @package    com.xz.realdemo  
 * @date   2019/11/28 19:36  
 * @explain
 */
public class Client {

    /**
     * 电脑组装工厂可以将CPU\内存\硬盘\主机\显示屏等硬件组装在一起构成一台电脑,这台电脑可以是台式机\可以是笔记本\也可以是没有显示器的服务器,
     * 具体创建什么电脑由我们的客户决定,使用建造者模式模拟实现。
     * @param args
     */
    public static void main(String[] args) {

        Object bean = XMLUtil.getBean();
        if (null != bean && bean instanceof ComputerBuilder){
            ComputerBuilder builder = (ComputerBuilder) bean;
            Computer computer = builder.construct();
            System.out.println("主机："+computer.getEngine());
            System.out.println("CPU："+computer.getCpu());
            System.out.println("硬盘："+computer.getDisk());
            System.out.println("内存："+computer.getInternal());
            System.out.println("显示器："+computer.getDisplay());
        }

    }

}
